﻿/**
 * @file viewdatacontroller.h
 * @author huangxb
 * @email 18228033207@163.com
 * @date 2024.04.24
 * @license MIT License
 * @brief 视图控制器.
 *
 * @htmlonly
 * <span style="font-weight: bold">History</span>
 * @endhtmlonly
 * Version|Auther|Date|Describe
 * ------|----|------|--------
 * V1.0|huangxb|2024.04.24|创建
 */
#ifndef VIEWDATACONTROLLER_H
#define VIEWDATACONTROLLER_H

/* 前置声明 */
class CViewDataRefNodeAdapter;
class CViewDataRefNodeView;

class CViewDataController
{
private:
    CViewDataRefNodeAdapter* m_pViewDataRefNodeAdapter = nullptr; /**< 用户数据适配器 */
    CViewDataRefNodeView* m_pViewImpl = nullptr; /**< 视图指针 */

public:
    CViewDataController();
    ~CViewDataController();

    void SetViewImpl(CViewDataRefNodeView* pViewImpl);
    CViewDataRefNodeView* GetViewImpl() const;

    void SetAdapter(CViewDataRefNodeAdapter* pViewDataRefNodeAdapter);
    CViewDataRefNodeAdapter* GetAdapter() const;

    void Show();
};

#endif // VIEWDATACONTROLLER_H
